In many applications, robots are used to perform functions in place of humans or to assist humans in order to increase productivity and efficiency. One such application is order fulfillment, which is typically performed in a large warehouse filled with products to be shipped to customers who have placed their orders over the internet for home delivery. Fulfilling such orders in a timely, accurate and efficient manner is logistically challenging to say the least.
In an online Internet shopping application, for example, clicking the “check out” button in a virtual shopping cart creates an “order.” The order includes a listing of items that are to be shipped to a particular address. The process of “fulfillment” involves physically taking or “picking” these items from a large warehouse, packing them, and shipping them to the designated address.
An important goal of the order fulfillment process is thus to ship as many items in as short a time as possible. The process of receiving an order, planning its fulfillment, finding the storage shelf or bin, picking the product, and repeating the process for each item on the order, then delivering the order to a shipping station is repetitive and labor intensive. In a warehouse stocked with thousands or tens of thousands of items of rapidly turning inventory, robots play a critical role in ensuring timely and efficient order fulfillment. In addition, the products that will ultimately be shipped first need to be received in the warehouse and stored or “placed” in storage bins in an orderly fashion throughout the warehouse so they can be readily retrieved for shipping.
Using robots to perform picking and placing functions may be done by the robot alone or with the assistance of human operators. Picking and placing or stocking functions, whether or not performed with human interaction, requires that the robot navigate from its present location to a target product storage or “bin” location. One method of navigation by a robot in an order fulfilment warehouse employs a spatial model or “map” of the warehouse, locally stored and updated by the robot, to allow the robot to operate autonomously or semi-autonomously as it performs its assigned order fulfillment tasks. The map is a digital representation of the warehouse, its storage locations, obstacles and other features. To arrive at a product bin in the presence of stationary and dynamic obstacles, the robot performs processing operations on the map to determine its present location and for continually recalibrating its movement along the goal path.
The robots are powered by electricity, which is stored in batteries onboard the robot. With all of the travelling that the robots do around the warehouse they must be regularly recharged. Therefore, for the operation to run smoothly, an efficient and effective way to charge the robots is a requirement. For general navigation within a warehouse, the size and resolution of the map may be such that a robot can successfully navigate to its target location, while avoiding obstacles along its goal path. Processing on the warehouse map, however, may require too much processing and result in too coarse of a localization and control where more precise localization and control is needed, such as when docking the robot to a robot charging station.
What is needed is a computationally efficient approach to localizing and controlling the robot during the docking of a robot to a robot charging station.